﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QuanLyHocSinh
{
    public partial class frmTTSV : Form
    {
        public frmTTSV()
        {
            InitializeComponent();

        }


        private void TTSV_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'qLSVDataset.SINHVIEN' table. You can move, or remove it, as needed.
            this.sINHVIENTableAdapter.Fill(this.qLSVDataset.SINHVIEN);
            // TODO: This line of code loads data into the 'qLSVDataset.LOP' table. You can move, or remove it, as needed.
            this.lOPTableAdapter.Fill(this.qLSVDataset.LOP);

            if (ThongTinSV.chucnang == 1) lbl_TuaDe.Text = "TRANG THÊM THÔNG TIN SINH VIÊN";
            if (ThongTinSV.chucnang == 2) lbl_TuaDe.Text = "TRANG SỬA THÔNG TIN SINH VIÊN";

            if (ThongTinSV.chucnang == 2)
            {
                ShowPanal(ThongTinSV.MaSV);
            }

            lbl_check_mssv_true.Hide();
            lbl__check_mssv_false.Show();
            btn_luu.Enabled = false;
            lbl_check_tensv_true.Hide();
            lbl_check_tensv_false.Show();
        }

        private void btn_luu_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Có Muốn Lưu Thông Tin Sinh Viên " + txt_tensv.Text, "Hỏi", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (result != DialogResult.OK) return;
            if (ThongTinSV.chucnang == 1)                   //Chức năng thêm sinh viên
            {
                try
                {
                    MemoryStream stream = new MemoryStream();
                    try
                    {
                        pictureBox.Image.Save(stream, ImageFormat.Jpeg);
                    }
                    catch (Exception) { }
                    sINHVIENTableAdapter.Fill(qLSVDataset.SINHVIEN);
                    DataRow dr = qLSVDataset.SINHVIEN.NewRow();
                    dr[0] = txt_masv.Text;
                    dr[1] = txt_tensv.Text;
                    dr[2] = dateTimePicker.Text;
                    dr[3] = cmb_lop.Text;
                    dr[4] = stream.ToArray();
                    qLSVDataset.SINHVIEN.Rows.Add(dr);
                    sINHVIENTableAdapter.Update(qLSVDataset);
                    MessageBox.Show("Đã thêm thành công sinh viên:  " + txt_tensv.Text, "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }catch(Exception)
                {
                    MessageBox.Show("Sinh viên thêm vào đã có trong danh sách", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            if (ThongTinSV.chucnang == 2)                   //Chức năng sửa sinh viên
            {
                sINHVIENTableAdapter.FillByMaSV(qLSVDataset.SINHVIEN, ThongTinSV.MaSV);

                string str = "MaSV='" + ThongTinSV.MaSV + "'";
                DataRow[] row = qLSVDataset.SINHVIEN.Select(str);
                row[0]["MaSV"] = txt_masv.Text;
                row[0]["TenSV"] = txt_tensv.Text;
                row[0]["NgaySinh"] = dateTimePicker.Text;
                row[0]["Lop"] = cmb_lop.Text;
                
                MemoryStream stream = new MemoryStream();
                try
                {
                    pictureBox.Image.Save(stream, ImageFormat.Jpeg);
                }
                catch (Exception) { }
                row[0]["Hinh"] = stream.ToArray();
                sINHVIENTableAdapter.Update(qLSVDataset);
                MessageBox.Show("Đã Lưu thành công sinh viên:  " + txt_tensv.Text, "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            
            this.Close();
        }


        //Nút chọn ảnh
        private void bnt_chonanh_Click(object sender, EventArgs e)
        {
            try
            {
                openFileDialog.ShowDialog();
                string file = openFileDialog.FileName;
                if (string.IsNullOrEmpty(file))
                    return;
                Image myimage = Image.FromFile(file);
                pictureBox.Image = myimage;
                btn_luu.Enabled = true;
            }catch(Exception )
            { }
        }

        private void btn_huy_Click(object sender, EventArgs e)
        {
            this.Close();

        }


        //Hển thi thôn tin sinh viên lên panal 
        //Tham số truyền vào là Mã sinh viên
        void ShowPanal(string MaSV)
        {
            sINHVIENTableAdapter.FillByMaSV(qLSVDataset.SINHVIEN, MaSV);
            try
            {
                txt_masv.Text = qLSVDataset.SINHVIEN[0][0].ToString();
                txt_tensv.Text = qLSVDataset.SINHVIEN[0][1].ToString();
                dateTimePicker.Text = qLSVDataset.SINHVIEN[0][2].ToString().Substring(0, qLSVDataset.SINHVIEN[0][2].ToString().IndexOf(" "));
                cmb_lop.Text = qLSVDataset.SINHVIEN[0][3].ToString();

                byte[] MyData = new byte[0];
                MyData = (byte[])qLSVDataset.SINHVIEN[0][4];
                MemoryStream stream = new MemoryStream(MyData);
                pictureBox.Image = Image.FromStream(stream);
            }
            catch (Exception)
            { }
        }

        private void btn_xoa_Click(object sender, EventArgs e)
        {
            txt_tensv.Text = "";
            txt_masv.Text = "";

        }

        private void txt_masv_TextChanged(object sender, EventArgs e)
        {
            if (txt_masv.Text.Length == 8)
            {
                lbl__check_mssv_false.Hide();
                lbl_check_mssv_true.Show();
                btn_luu.Enabled = true;

            }
            else
            {
                lbl__check_mssv_false.Show();
                lbl_check_mssv_true.Hide();
                btn_luu.Enabled = false;
            }
        }

        private void txt_tensv_TextChanged(object sender, EventArgs e)
        {
            if (txt_tensv.Text.Trim().Length != 0)
            {
                lbl_check_tensv_false.Hide();
                lbl_check_tensv_true.Show();
                btn_luu.Enabled = true;

            }
            else
            {
                lbl_check_tensv_false.Show();
                lbl_check_tensv_true.Hide();
                btn_luu.Enabled = false;
            }
        }

        private void frmTTSV_FormClosed(object sender, FormClosedEventArgs e)
        {
            ThongTinSV.CurrentLopSelected = cmb_lop.Text;
        }

    }
}
